package com.atguigu02.selfdefine.exer1;

import com.atguigu01.use.exer1.Employee;

import java.util.*;

/**
 * ClassName: DAO
 * Package: com.atguigu02.selfdefine.exer1
 * Description:
 *      public void save(String id,T entity)： 保存 T 类型的对象到 Map 成员变量中
 *      public T get(String id)：从 map 中获取 id 对应的对象
 *      public void update(String id,T entity)：替换 map 中key为id的内容,改为 entity 对象
 *      public List<T> list()：返回 map 中存放的所有 T 对象
 *      public void delete(String id)：删除指定 id 对象
 * @Author BuTang
 * @Create 2023/6/10 13:43
 * @Version 1.0
 */
public class DAO <T>{
    Map<String,T> map = new HashMap<String,T>();
    public void save(String id,T entity){
        map.put(id, entity);
    }

    public T get(String id){
        return  map.get(id);
    }

    public void update(String id,T entity){
        if (map.containsKey(id))
            map.put(id, entity);
    }
    public List<T> list(){
        Collection<T> collection = map.values();
        ArrayList<T> list = new ArrayList<>(collection);
        return list;
    }
    public void delete(String id){
        map.remove(id);
    }
}
